﻿using Common.Contract.CrossSelling.Request;
using Common.Contract.CrossSelling.Response;
using System.ServiceModel;

namespace Common.Contract.CrossSelling
{
    [ServiceContract]
    public interface ICrossSelling
    {
        [OperationContract]
        RetrieveListProductResponse RetrieveListProduct(RetrieveListProductRequest request);
        [OperationContract]
        RetrieveListProductResponse RetrieveListHoldProduct(RetrieveListProductRequest request);
        [OperationContract]
        RetrieveCustomerByProductResponse RetrieveCustomerByProduct(RetrieveCustomerByProductRequest request);
        [OperationContract]
        RetrieveCustomerHoldProductResponse RetrieveCustomerHoldProduct(RetrieveCustomerHoldProductRequest request);
        [OperationContract]
        RetrievePreApprovedCustCreditCardConversionResponse RetrieveCustomerPreApprovedCreditCardConversion(RetrievePreApprovedCustCreditCardConversionRequest request);
        [OperationContract]
        RetrievePreApprovedCustCreditCardForLoanResponse RetrieveCustomerPreApprovedCreditCardForLoan(RetrievePreApprovedCustCreditCardForLoanRequest request);
        [OperationContract]
        RetrievePreApprovedCustBilResponse RetrieveCustomerPreApprovedBil(RetrievePreApprovedCustBilRequest request);
        [OperationContract]
        RetrievePreApprovedCustWCResponse RetrieveCustomerPreApprovedWC(RetrievePreApprovedCustWCRequest request);
        [OperationContract]
        RetrieveCustomerByRateLimitResponse RetrieveCustomerByRateLimit(RetrieveCustomerByRateLimitRequest request);
        [OperationContract]
        RetrieveProductXSellingByCifResponse RetrieveProductXSellingByCif(RetrieveProductXSellingByCifRequest request);
    }
}
